Skip to content

[dist] Add Flink 2.3 distribution and make it the default#856

Open
GreatEugenius wants to merge 1 commit into
apache:mainfrom
GreatEugenius:flink-2-3
Open

[dist] Add Flink 2.3 distribution and make it the default#856
GreatEugenius wants to merge 1 commit into
apache:mainfrom
GreatEugenius:flink-2-3

Conversation

@GreatEugenius

@GreatEugenius GreatEugenius commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

Linked issue: #833

Purpose of change

Add Flink 2.3 support and bump the default Flink version to 2.3.0.

Central 2.3.0 jars are Java 11 bytecode, so the default still builds on JDK 11 — no Java 17 requirement. dist modules follow a symmetric rule: the default version (2.3) is bare and inherits the root flink.version; every other version pins its own version + provided deps.

  • dist: new flink-2.3 module; flink-2.2 now pins 2.2.1 + provided deps; root default 2.2.1 → 2.3.0
  • e2e: flink-2.3 is the default, flink-2.2 moved to a profile; e2e.sh default → 2.3
  • ci: add {flink 2.3, java 17} to it-java and it-python matrices
  • python: bundle the 2.3 thin jar into the wheel manifest + build-backend test coverage
  • misc: ut.sh help, update_flink_version.sh, faq/long_term_memory version notes

Tests

Full build on JDK 11 — all 5 dist versions (1.20 / 2.0 / 2.1 / 2.2 / 2.3) pass. Java and Python IT cover Flink 2.3 in CI.

API

No public API changes. 2.3 is a packaging/runtime target only.

Documentation

  • doc-needed
  • doc-not-needed
  • doc-included

@github-actions github-actions Bot added doc-included Your PR already contains the necessary documentation updates. fixVersion/0.4.0 priority/major Default priority of the PR or issue. and removed doc-included Your PR already contains the necessary documentation updates. labels Jun 24, 2026
Add Flink 2.3 support and bump the default Flink version to 2.3.0. Central
2.3.0 jars are Java 11 bytecode, so the default still builds on JDK 11 — no
Java 17 requirement. dist modules follow a symmetric rule: the default
version (2.3) is bare and inherits the root flink.version; every other
version pins its own version + provided deps.

- dist: new flink-2.3 module; flink-2.2 now pins 2.2.1 + deps; root default 2.2.1 -> 2.3.0
- e2e: flink-2.3 default + flink-2.2 profile; e2e.sh default -> 2.3
- ci: add {flink 2.3, java 17} to it-java and it-python matrices
- python: bundle 2.3 thin jar into wheel manifest + build-backend test
- misc: ut.sh help, update_flink_version, faq/long_term_memory version notes

Verified: full build on JDK 11, all 5 dist versions (1.20/2.0/2.1/2.2/2.3) pass.
@github-actions github-actions Bot added doc-included Your PR already contains the necessary documentation updates. and removed doc-included Your PR already contains the necessary documentation updates. labels Jun 24, 2026
@GreatEugenius GreatEugenius changed the title [dist] Add Flink 2.3 distribution and CI coverage [dist] Add Flink 2.3 distribution and make it the default Jun 24, 2026
@github-actions github-actions Bot added doc-included Your PR already contains the necessary documentation updates. and removed doc-included Your PR already contains the necessary documentation updates. labels Jun 24, 2026
@GreatEugenius

Copy link
Copy Markdown
Collaborator Author

Hi, @wenjin272. Could you please review this PR? Thank you!

- **For Java users on JDK < 21**: Async execution is not available and falls back to synchronous execution.

> **Cross-language async note**: Async execution for cross-language resources requires the pemja 0.5.7 fix, available in Flink 1.20.5+ / 2.0.2+ / 2.1.3+ / 2.2.1+. Current builds target Flink 2.2.0, so cross-language calls still run synchronously for now; this is resolved automatically once running on a Flink version that includes the fix.
> **Cross-language async note**: Async execution for cross-language resources requires the pemja 0.5.7 fix, available in Flink 1.20.5+ / 2.0.2+ / 2.1.3+ / 2.2.1+ / 2.3+. Current builds target Flink 2.2.1, which includes the fix, so cross-language async is enabled by default; on older Flink versions it falls back to synchronous execution automatically.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line still reads Current builds target Flink 2.2.1, but the root flink.version now defaults to 2.3.0 (pom.xml:44) — looks like the version number didn't follow the default bump. Should it be 2.3.0? The rest of the sentence (the fix is present, so async is on by default) holds either way.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

doc-included Your PR already contains the necessary documentation updates. fixVersion/0.4.0 priority/major Default priority of the PR or issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants